1. Field of the Invention
The present invention relates to a numerical control method for controlling a five-axis processing machine having two rotational axes and three linear axes, and also relates to operational control in the proximity of singular points where there is a possibility of the occurrence of unstable movement.
2. Description of the Related Art
There is already known a five-axis processing machine which carries out processing by moving a tool relatively in three linear axis directions with respect to a workpiece (processing object), as well as inclining the tool relatively with respect to the workpiece about two rotational axes. For example, there is known a processing method using a five-axis processing machine which processes a curved surface by performing curve interpolation, on the basis of command point sequence data created by a CAD/CAM apparatus or an associated apparatus, and a command vector sequence which instructs the angles of inclination of the workpiece and the tool, wherein smooth processed surfaces are obtained by interpolation of a smooth curve which is approximate to a prescribed curve (see Japanese Patent Application Laid-Open No. 2005-182437).
Furthermore, in a five-axis processing machine, if the position and attitude of a tool are indicated in terms of a perpendicular coordinates system which is fixed with respect to the work object, and the tool is moved at a certain speed, and if the machine has a singular point (singular attitude) within its range of operation, then the speed and acceleration of the respective machine joints may exceed the tolerable values for those joints. Consequently, a joint interpolation range is determined on the basis of the attitude at two time points, in such a manner that the error in the attitude of the tool between the two time points assigned to the tool is equal to or less than a tolerable value, and the attitude of the tool is controlled within this joint interpolation range by means of joint interpolation (namely, interpolation for determining the values of the joint coordinates of the respective axes, on the basis of the positional vector and the attitude vector at the two points) (see Japanese Patent Application Laid-Open No. 2004-220435). By this means, if the speed and the acceleration of the respective joints becomes excessively large in the proximity of a singular point, then the speed of movement is restricted as far as possible, while satisfying the required accuracy in respect of error in the path of travel.
A cutting point, which is where a workpiece is actually processed by a tool, differs from a control point, which is the position to which the tool is controlled with respect to the workpiece.
FIG. 1 is a diagram showing the relationship between a cutting point which is indicated when using a ball end mill as a tool 1, and the controlled tool position, in a five-axis processing machine having three linear axes, X, Y, Z, and two rotational axes, axis A which rotates about the X axis, and axis C which rotates about the Z axis.
A cutting point is instructed in the form of a position (X, Y, Z) of the X, Y, Z axes in the perpendicular coordinates system corresponding to the linear axes X, Y, Z. The control point for controlling the position of the tool 1 with respect to the workpiece in response to this cutting point instruction (X, Y, Z), is not the point where the tip of the tool 1 makes contact with the workpiece (cutting point instruction point), but rather a linear axis position (Xc, Yc, Zc) which is separated from this cutting point instruction point, and therefore the instructed cutting point position (X, Y, Z) does not coincide with the linear axis position (Xc, Yc, Zc) corresponding to same.
The linear axis position (Xc, Yc, Zc) is determined by applying tool diameter compensation and tool length compensation, and this linear axis position (Xc, Yc, Zc) and the rotational axis positions (A, C) are controlled accordingly. The tool diameter compensation is determined on the basis of a cutting surface perpendicular direction instruction (I, J, K) which is instructed together with the cutting point position (X, Y, Z), and an established tool diameter compensation amount TR. The tool length compensation is determined on the basis of the tool direction which is specified by the instructions supplied to the respective rotational axes, the A axis and the C axis, the established tool diameter compensation amount TR, and the tool length compensation amount TL.
As described above, the instructed cutting point position (X, Y, Z) does not coincide with the position of the tool 1 with respect to the workpiece, in other words, with the position (Xc, Yc, Zc) of the controlled linear axes. The same applies in cases where a square end mill, which has a square-shaped cross-section when rotated about the main shaft, or a radius end mill which has a curved radius applied to the corners of the tool, is used instead of a ball end mill, and here also, the instructed cutting point position does not coincide with the controlled linear axis position.
However, in general, it is desirable that the interval between the instructed cutting points should be similar to the movement of the control point. In other words, it is desirable that if the interval between the instructed cutting points is small, then the corresponding movement of the control point is also small, and if the interval between the instructed cutting points is large, then the corresponding movement of the control point is also large.
For example, in a square end mill, the general relationship between an instructed cutting point and a control point is as shown in FIG. 2. As shown in FIG. 2, it is desirable that there should be a substantially proportional relationship between the distance between the cutting point instructions (XS, YS, ZS), (XE, YE, ZE) which are the start point and the end point of the instructions for one block, and the distance between the start point and end point of the linear axis control point (Xc, Yc, Zc) used to drive the tool 1 in the instructions for that block. However, depending on the instructed shape and the type of tool, the interval between the instructed cutting points may differ greatly from the movement of the control point. More specifically, there are cases where the interval between the instructed cutting points is small but the corresponding control point is moved by a large amount (a case such as that shown in FIG. 9 described below), or cases where the interval between the instructed cutting points is large but the corresponding control point is moved by a small amount (a case such as that shown in FIG. 10 described below) (hereinafter, cases of these kinds are referred to as “the proximity of a singular point”).
In the proximity of a singular point of this kind, where there is a large difference between the interval between the instructed control points and the corresponding movement of the control point, undesirable situations, such as unstable operation and/or excessive cutting into the processing object, may occur. The present invention resolves problems of this kind.
Firstly, before explaining these problems, a description is given of the principles and the operation of processing control based on cutting point instructions as executed conventionally by a controller such as a numerical controller which controls a five-axis processing machine.
(Ball End Mill)
FIG. 3 is an illustrative operational diagram of a case where a ball end mill is used as a tool 1 and is controlled by determining the positions of three linear axes X, Y, Z, and two rotational axes, A and C, by means of cutting point instructions. In this case, a program such as that shown in FIG. 4 is used as the processing program.
FIG. 4 illustrates the processing program on the left-hand side of the drawing, accompanied by an explanation of the processing program, on the right-hand side. “G43.8” indicates a cutting point instruction code, “H01” indicates that the tool length compensation number is “01” (in other words, that the tool length compensation amount indicated by this tool length compensation number is to be used), and “D01” indicates that the tool diameter compensation number is “01” (in other words, that the tool diameter compensation amount indicated by this tool diameter compensation number is to be used). Furthermore, “X_Y_Z_A_C_I_J_K_” is a block of cutting point instructions, “X_Y_Z_” is a cutting point instruction which indicates the position of a cutting point in terms of the X, Y, Z axes of a perpendicular coordinates system, “A_C_” is a tool direction instruction, and “I_J_K_” is an instruction which specifies the direction perpendicular to the cutting surface, at the cutting point. Furthermore, “G49” is an instruction which cancels and terminates the processing control based on that cutting point instruction.
Moreover, the tool diameter compensation amount TR, the tool length compensation amount TL, and the corner radius compensation amount CR, which is described hereinafter, are set as parameters for each respective compensation number. FIG. 5 shows an example of the tool compensation amount settings. If the corner radius compensation amount CR is set to “0.0”, then this indicates that there is no corner radius, and means that the tool is a square end mill. Furthermore, if the tool diameter compensation amount TR is set to the same numerical figure as the corner radius compensation amount CR, then this means that the tool is a ball end mill. In the example shown in FIG. 5, the compensation number “01” indicates a ball end mill, the compensation number “02” indicates a radius end mill, and the compensation number “03” indicates a square end mill.
The controller reads in the instructions of one block (X, Y, Z, A, C, I, J, K), from the processing program. The block cutting point instruction (X, Y, Z) thus read in is taken as the cutting point instruction (XE, YE, ZE) at the end point of the current block, and the block cutting point instruction (X, Y, Z) read in respect of the immediately previous block is taken as the cutting point instruction (XS, YS, ZS) at the start point of the current block. Similarly, the cutting surface perpendicular direction instruction (I, J, K) read in from the processing program is taken as the cutting surface perpendicular direction instruction (IE, JE, KE) at the end point of the current block, and the cutting surface perpendicular direction instruction (I, J, K) read in the immediately previous block is taken as the cutting surface perpendicular direction instruction (IS, JS, KS) at the start point of the current block.
(1) Respective interpolated cutting point positions (Xt, Yt, Zt) are determined by carrying out interpolation processing at each interpolation cycle, from the position of the cutting point instruction (XS, YS, ZS) at the start point of a block until the position of the cutting point instruction (XE, YE, ZE) at the end point of the block.
(2) Similarly, respective interpolated cutting surface perpendicular direction vectors (It, Jt, Kt) (at each of the interpolated cutting point positions (Xt, Yt, Zt)) are determined by carrying out interpolation processing at each interpolation cycle, from the cutting surface perpendicular direction instruction (IS, JS, KS) at the start point of a block until the cutting surface perpendicular direction instruction (IE, JE, KE) at the end point of the block. It should be noted that the interpolated cutting surface perpendicular direction vector (It, Jt, Kt) is determined in terms of a unit vectors.
(3) The tool diameter compensation amount TR (set as a parameter) is multiplied by the interpolated cutting surface perpendicular direction vector (It, Jt, Kt), to derive a tool diameter compensation vector (TCx, TCy, TCz).
(4) The tool direction vector (TSx, TSy, TSz) at the start point of a block and the tool direction vector (TEx, TEy, TEz) at the end point of the block are determined from the tool direction instructions A, C at the start point and the end point of the block which has been read in. If the tool direction instruction at the start point of a block is taken as AS, CS, and the tool direction instruction at the end point of the block is taken as AE, CE, then the vectors are derived as follows:TSx=−cos(CS)sin(AS)TSy=−sin(CS)sin(AS)TSz=cos(AS)TEx=−cos(CE)sin(AE)TEy=−sin(CE)sin(AE)TEz=cos(AE)
(5) The interpolated tool direction vector (Ttx, Tty, Ttz) is determined by carrying out interpolation processing from the tool direction vector (TSx, TSy, TSz) at the start point of a block until the tool direction vector (TEx, TEy, TEz) at the end point of the block. The interpolated tool direction vector (Ttx, Tty, Ttz) is also determined in terms of unit vectors.
(6) A tool length compensation vector (TLx, TLy, TLz) is determined by multiplying the interpolated tool direction vector (Ttx, Tty, Ttz) by the difference (TL−TR) between the tool diameter compensation amount TR and the tool length compensation amount TL.
(7) The linear axis control point position (Xc, Yc, Zc) is determined by adding the tool diameter compensation vector (TCx, TCy, TCz) and tool length compensation vector (TLx, TLy, TLz) to the interpolated cutting point position (Xt, Yt, Zt). This linear axis control point position (Xc, Yc, Zc) is the movement position of the linear axes (X, Y, Z axes) in the interpolation cycle.
(8) The interpolated tool direction vector (Ttx, Tty, Ttz) is converted into rotational axis control point positions (Ac, Cc). These converted rotational axis control point positions (Ac, Cc) are the positions to which the rotational axes (A, C axes) are moved in each interpolation cycle.Ac=arc cos(Ttz)Cc=arc tan(Tty/Ttx)
By means of the processing described above, the linear axis control point position (Xc, Yc, Zc) and the rotational axis control point positions (Ac, Cc) are determined for each interpolation cycle, and processing is carried out by driving and controlling the servo motors which drive the respective axes in order that they are moved to these positions.
(Square End Mill)
FIG. 6 is an illustrative diagram of processing for determining a linear axis control position and rotational axis control positions according to the cutting point instruction, for each interpolation cycle, in a case where the tool 1 used is a square end mill. In this case, the processing program is the same as the processing program shown in FIG. 4, and a tool length compensation number (“H03”) and a tool diameter compensation number (“D03”) are instructed. The compensation number “03” is selected from the tool compensation amount settings examples shown in FIG. 5, and since the corner radius compensation amount CR is set to “0.0”, then a square end mill is designated.
(1) The controller reads in the instructions for one block (X, Y, Z, A, C, I, J, K) from the processing program, and determines respective interpolated cutting point positions (Xt, Yt, Zt) by carrying out interpolation processing at each interpolation cycle, from the position of the cutting point instruction (XS, YS, ZS) at the start point of a block until the position of the cutting point instruction (XE, YE, ZE) at the end point of the block.
(2) Then, respective interpolated cutting surface perpendicular direction vectors (It, Jt, Kt) are determined by carrying out interpolation processing at each interpolation cycle, from the cutting surface perpendicular direction instruction (IS, JS, KS) at the start point of a block until the cutting surface perpendicular direction instruction (IE, JE, KE) at the end point of the block. It should be noted that the interpolated cutting surface perpendicular direction vector (It, Jt, Kt) is determined in terms of unit vectors.
(3) The tool direction vector (TSX, TSy, TSz) at the start point of a block and the tool direction vector (TEx, TEy, TEz) at the end point of the block are determined from the tool direction instructions A, C at the start point and the end point of the block which has been read in. This is determined by the same method as that described for the ball end mill in (4) above.
(4) The interpolated tool direction vector (Ttx, Tty, Ttz) is determined by interpolation from the tool direction vector (TSx, TSy, TSz) at the start point of a block until the tool direction vector (TEx, TEy, TEz) at the end point of the block. The interpolated tool direction vector (Ttx, Tty, Ttz) is also determined in terms of unit vectors.
(5) The tool diameter compensation vector (TCx, TCy, TCz) is determined by rotating the interpolated tool direction vector (Ttx, Tty, Ttz) through 90° in the plane formed by the interpolated tool direction vector (Ttx, Tty, Ttz) and the interpolated cutting surface perpendicular direction vector (It, Jt, Kt), and then multiplying the rotated direction vector by the tool diameter compensation amount TR. Below, the method for rotating the interpolated tool direction vector (Ttx, Tty, Ttz) through 90° is described.
Firstly, the external product vector (Vx, Vy, Vz) of the interpolated tool direction vector (Ttx, Tty, Ttz) and the interpolated cutting surface perpendicular direction vector (It, Jt, Kt) is determined.(Vx, Vy, Vz)=(Ttx, Tty, Ttz)×(It, Jt, Kt)This external product vector (Vx, Vy, Vz) is a vector which is perpendicular to the plane formed by the interpolated tool direction vector (Ttx, Tty, Ttz) and the interpolated cutting surface perpendicular direction vector (It, Jt, Kt). Thereupon, the unit vector (VNx, VNy, VNz) of the external product vector (Vx, Vy, Vz) is determined, and by rotating the interpolated tool direction vector (Ttx, Tty, Ttz) through 90° about this unit vector (VNx, VNy, VNz), then an interpolated tool direction vector (Ttx, Tty, Ttz) which has been rotated through 90° is obtained. A general method for rotating a certain vector through a certain angle about a certain unit vector is described in “Computer Graphics” (David F. Rogers, J. Alan Adams), etc.
(6) The tool length compensation vector (TLx, TLy, TLz) is determined by multiplying the interpolated tool direction vector (Ttx, Tty, Ttz) by the tool length compensation amount TL.
(7) The linear axis control point position (Xc, Yc, Zc) is determined by adding the tool diameter compensation vector (TCx, TCy, TCz) and tool length compensation vector (TLx, TLy, TLz) to the interpolated cutting point position (Xt, Yt, Zt). This linear axis control point position (Xc, Yc, Zc) is the movement position of the linear axes (X, Y, Z axes) in the interpolation cycle.
(8) The interpolated tool direction vector (Ttx, Tty, Ttz) is converted into rotational axis control point positions (Ac, Cc). These converted rotational axis control point positions (Ac, Cc) are the positions to which the rotational axes (A, C axes) are moved in each interpolation cycle. This method of conversion is implemented similarly to the abovementioned ball end mill.
By means of the processing described above, the linear axis control point position (Xc, Yc, Zc) and the rotational axis control point positions (Ac, Cc) are determined at each interpolation cycle, and processing is carried out by controlling and driving the servo motors which drive the respective axes, in such a manner that the axes are moved to these positions.
(Radius End Mill)
FIG. 7 is an illustrative diagram of processing for determining the linear axis control point position and the rotational axis control point positions, for each respective interpolation cycle, on the basis of a cutting point instruction, in a case where the tool 1 is a radius end mill. FIG. 8 shows an example of the processing program used in this case. This processing program is the same as that shown in FIG. 4, but in this case, the tool length compensation number “H02” and the tool diameter compensation number “D02” are indicated, and hence the compensation number 02 is selected from the tool compensation amount settings example shown in FIG. 5, and since the corner radius compensation amount CR is “2.0”, then a radius end mill is specified. Apart from this, the procedure is the same as the example shown in FIG. 4.
(1) The controller reads in the block instruction (X, Y, Z, A, C, I, J, K) from the processing program, and determines respective interpolated cutting point positions (Xt, Yt, Zt) by carrying out interpolation processing at each interpolation cycle, from the position of the cutting point instruction (XS, YS, ZS) at the start point of a block, until the cutting point instruction (XE, YE, ZE) at the end point of the block.
(2) Respective interpolated cutting surface perpendicular direction vectors (It, Jt, Kt) are determined for each interpolation cycle, by carrying out interpolation processing from the cutting surface perpendicular direction instruction (IS, JS, KS) at the start point of a block until the cutting surface perpendicular direction instruction (IE, JE, KE) at the end point of the block. The interpolated cutting surface perpendicular direction vectors (It, Jt, Kt) are determined in terms of unit vectors.
(3) The tool direction vector (TSx, TSy, TSz) at the start point of a block and the tool direction vector (TEx, TEy, TEz) at the end point of the block are determined from the tool direction instructions A, C at the start point and end point of the block read in. The method for determining these vectors is the same as that described above in step (4) for a ball end mill.
(4) Respective interpolated tool direction vectors (Ttx, Tty, Ttz) are determined by carrying out interpolation processing from the tool direction vector (TSx, TSy, TSz) at the start point of a block until the tool direction vector (TEx, TEy, TEz) at the end point of the block. These interpolated tool direction vectors (Ttx, Tty, Ttz) are also determined in unit vectors.
(5) A corner radius compensation vector (CCx, CCy, CCz) is determined by multiplying the corner radius compensation amount CR by the interpolated cutting surface perpendicular direction vector (It, Jt, Kt).
(6) The interpolated tool direction vector (Ttx, Tty, Ttz) in the plane formed by the interpolated tool direction vector (Ttx, Tty, Ttz) and the interpolated cutting surface perpendicular direction vector (It, Jt, Kt) is rotated through 90° (the method of rotation is the same as in the case of the square end mill), and a tool diameter compensation vector (TCx, TCy, TCz) is determined by multiplying the vector which has been rotated through 90°, by the difference (TR−CR) between tool diameter compensation amount TR and the corner radius compensation amount CR.
(7) A tool length compensation vector (TLx, TLy, TLz) is determined by multiplying the interpolated tool direction vector (Ttx, Tty, Ttz) by the difference (TL−CR) between the tool length compensation amount TL and the corner radius compensation amount CR.
(8) A linear axis control point position (Xc, Yc, Zc) is determined by adding the corner radius compensation vector (CCx, CCy, CCz), the tool diameter compensation vector (TCx, TCy, TCz), and the tool length compensation vector (TLx, TLy, TLz), to the interpolated cutting point position (Xt, Yt, Zt). This linear axis control point position (Xc, Yc, Zc) is the movement position of the linear axes (X, Y, Z axes) in the interpolation cycle.
(9) The tool direction vector (Ttx, Tty, Ttz) is converted to rotational axis control point positions (Ac, Cc). The converted rotational axis control point positions (Ac, Cc) are the positions to which the rotational axes (A, C axes) are moved at each interpolation cycle. The conversion method is the same as that for a ball end mill described above.
In this way, processing is carried out by driving and controlling the servo motors which drive the axes, in such a manner that the axes are moved to the linear axis control point position (Xc, Yc, Zc) and the rotational axis control point positions (Ac, Cc) determined at each respective interpolation cycle.
As described above, the aforementioned interpolation processing is performed in respect of the linear axes (X, Y, Z axes) and the rotational axes (A, C axes) when carrying out processing by instructing a sequence of cutting points, and processing is executed on the basis of the movement instructions for each interpolation cycle. During the course of this processing, control may become unstable in the proximity of the singular points described above, and excessive cutting may be performed. FIG. 9 is an illustrative diagram of the proximity of singular points where control becomes unstable. This example relates to a case of instability in control occurring at a singular point where the interval between the cutting point instructions is small, but the movement distance of the control point is large (below, this singular point is called “singular point 1”). This singular point 1 occurs under conditions such as those described below.
(a) The tool direction vector (TSx, TSy, TSz) at the start point of the block is close to the direction (orientation) of the cutting surface perpendicular direction instruction (IS, JS, KS).
(b) The tool direction vector (TSx, TSy, TSz) at the start point of a block is close to the direction of the tool direction vector (TEx, TEy, TEz) at the end point of the block.
(c) The tool direction vector (TEx, TEy, TEz) at the end point of the block is close to the direction of the cutting surface perpendicular direction instruction (IE, JE, KE) at the end point, and there is a large difference in direction between the outer product vector (Vx, Vy, Vz) which is the vector perpendicular to the surface formed by the vectors (TEx, TEy, TEz) and (IE, JE, KE), and the outer product vector (Vx, Vy, Vz) which is the vector perpendicular to the surface formed by the tool direction vector (TSx, TSy, TSz) at the start point of the block and the cutting surface perpendicular direction instruction (IS, JS, KS) at the start point (for example, the directional difference is approximately 180°). In the example shown in FIG. 9, if the respective vectors at the start point and the end point of the block are situated in the same plane, then the outer product vector (Vx, Vy, Vz) at the start point of a block and the outer product vector (Vx, Vy, Vz) at the end point of the block have opposite signs, and differ by 180°. Therefore, the tool diameter compensation vector (TCx, TCy, TCz), which is obtained by rotating the interpolated tool direction vector (Ttx, Tty, Ttz) through 90° about the unit vector of this outer product vector (Vx, Vy, Vz) and then multiplying by the tool diameter compensation amount TR, will change greatly (for example, through approximately 180°) in accordance with the large change in the outer product vector. FIG. 9 shows an example where the tool diameter compensation vector (TCx, TCy, TCz) changes by approximately 180°.
If the conditions in (a), (b) and (c) above arise, then even if the interval between cutting points (instruction points) is small, the corresponding movement of the control point (Xc, Yc, Zc) is large, and therefore a state such as that illustrated in FIG. 9 occurs. The example shown in FIG. 9 indicates a case where at the start point of a block, the right-hand side of the tool 1 is indicated as the cutting point, but at the end point of the block, the left-hand side of the tool 1 is indicated at the cutting point. Therefore, a movement which is approximately two times the tool diameter compensation amount is produced during the block. Since the tool diameter compensation vector (TCx, TCy, TCz) changes significantly in this way, then the control point (Xc, Yc, Zc) also changes, and the operation becomes unstable.
Situations where the control operation becomes unstable due to singular points of this kind also occur when processing with a radius end mill, as well as when processing with a square end mill as described above.
Next, a case is described in which the intervals between the positions of the cutting point instructions are large, but the movement of the control point when processing these intervals is small, and excessive cutting occurs at a singular point where the tool moves in a loop fashion (this singular point is called “singular point 2” below).
FIG. 10 is an illustrative movement diagram of this singular point 2. This singular point occurs under conditions such as the following.
(a) Where the position of the linear axis control point (Xc, Yc, Zc) at the start point of a block and the linear axis control point (Xc, Yc, Zc) at the end point of the block are close together (below, the linear axis control point at the start point of a block is represented as “(XSc, YSc, ZSc)” and the linear axis control point at the end point of the block is represented as “(XEc, YEc, ZEc)”).
(b) The tool direction vector (TSx, TSy, TSz) at the start point of a block and the tool direction vector (TEx, TEy, TEz) at the end point of the block are close together.
(c) The distance between the cutting point instruction (XS, YS, ZS) at the start point of a block and the cutting point instruction (XE, YE, ZE) at the end point of the block is relatively large, and there is a large difference between the directions of the cutting surface perpendicular direction instruction (IS, JS, KS) at the start point of a block and that of the cutting surface perpendicular direction instruction (IE, JS, KE) at the end point of the block.
In the example shown in FIG. 10, there is a large difference between the directions of the cutting surface perpendicular direction instruction (IS, JS, KS) at the start point of a block and that of the cutting surface perpendicular direction instruction (IE, JE, KE) at the end point of the block, and there is also a large difference between the directions of the tool diameter compensation vector (TCSx, TCSy, TCSz) at the start point and the tool diameter compensation vector (TCEx, TCEy, TCEz) at the end point. The directions of the tool direction vector (TSx, TSy, TSz) at the start point of a block and the tool direction vector (TEx, TEy, TEz) at the end point of the block are close together, the tool length compensation vector (TLx, TLy, TLz) at the start point of a block and the tool length compensation vector (TLx, TLy, TLz) at the end point of the block are mutually superimposed, and the position of the linear axis control point, which is determined by adding the tool diameter compensation vector and the tool length compensation vector to the cutting point instruction, performs a small loop-shaped movement. In the example shown in FIG. 10, it is expected that the linear axis control point will not move during the instruction block, but in actual fact, it performs a loop-shaped movement as indicated by the dotted arrow. As a result, there is a problem in that the tool cuts into the processing object, or the like.
The problem of excessive cutting due to the singular point 2, where the distance between instructions in the cutting point instructions is small whereas the distance of movement of the control point is large, also occurs in cases where a square end mill or a radius end mill is used, as well as cases where a ball end mill is used as described above.